সি প্রোগ্রাম সম্পাদনের সময় আপনি কমান্ড লাইন থেকেও ভ্যালু অতিক্রম(pass) করাতে পারেন। এই ভ্যালুকে কমান্ড লাইন আর্গুমেন্ট(command line argument) বলা হয়। অনেক সময়ই ইহা প্রয়োজন হতে পারে, বিশেষকরে আপনি যখন প্রোগ্রামের ভিতরে এই ভ্যালু-সমূহকে হার্ড কোড(hard code) না করে বাহির থেকে কন্ট্রোল করতে চাইবেন।
main(int argc, char *argv[] ) ফাংশন ব্যবহার করে কমান্ড লাইন আর্গুমেন্টকে পরিচালনা করা হয়, যেখানে argc ফাংশনের মধ্য দিয়ে অতিক্রম হওয়া আর্গুমেন্টের সংখ্যাকে নির্দেশ করে এবং argv[] হলো পয়েন্টার অ্যারে যা প্রোগ্রামের মধ্য দিয়ে অতিক্রম হওয়া প্রত্যেক আর্গুমেন্টকে নির্দেশ করে।
kt_satt_skill_example_id=680
নোটঃ আপনার জেনে রাখা উচিৎ যে, argv[0]
দ্বারা প্রোগ্রাম তার নিজের নামকে নির্দেশ করে, argv[1]
দ্বারা সরবরাহকৃত প্রথম কমান্ড লাইন আর্গুমেন্টকে নির্দেশ করে এবং *argv[n]
দ্বারা সবশেষ আর্গুমেন্টকে নির্দেশ করে। যদি কোনো আর্গুমেন্ট সরবরাহ করা না হয় তাহলে argc
হবে 1 এবং যদি একটি আর্গুমেন্ট অতিক্রম করানো হয় তাহলে argc
হবে 2।
আর্গুমেন্ট-সমূহকে প্রোগ্রামের মধ্য দিয়ে অতিক্রম করানোর সময় স্পেসের মাধ্যমে পৃথক করা হয়। কিন্তু আর্গুএমেন্টের নিজের-ই যদি স্পেস থাকে তাহলে আর্গুমেন্ট-সমূহকে সিঙ্গেল('') অথবা ডাবল(" ") কোটেশনের মধ্যে রাখা হয়।
চলুন, উপরের প্রোগ্রামটি আমরা পুনরায় লিখি যার মাধ্যমে আমরা প্রোগ্রামের নাম প্রিন্ট করবো এবং কমান্ড লাইন আর্গুমেন্টকে সিঙ্গেল কোটেশনের মধ্যে রেখে অতিক্রম করাবোঃ
kt_satt_skill_example_id=682
common.read_more